package net.lahuobao.mall.entity.admin;

import net.lahuobao.enums.mall.admin.EMallShopSettlementAuditStatus;
import net.lahuobao.enums.mall.admin.EMallShopSettlementStatus;
import net.lahuobao.export.datasoruce.annotation.ExportField;

import java.io.Serializable;
import java.math.BigDecimal;
import java.sql.Timestamp;
import java.util.Date;

/**
 * Created by clark on 2016/9/19 0019.
 */
public class MallShopSettlementDetailsResultEntity implements Serializable {
    
    @ExportField(title = "", isShow = 0)
    private Integer ID;

    @ExportField(title = "", isShow = 0)
    private Integer settlementStatus;

    //商家名称
    @ExportField(title = "", isShow = 0)
    private String companyName;

    //店铺名称
    @ExportField(title = "", isShow = 0)
    private String shopName;

    @ExportField(title = "结算状态", sort = 10)
    private String settlementStatusName;

    @ExportField(title = "订单号", sort = 20)
    private String orderNo;

    @ExportField(title = "订单状态", sort = 30)
    private String orderStatusName;

    @ExportField(title = "下单时间", isShow = 1, sort = 40, isTranf=1, tranfType=2)
    private Timestamp orderCreateTime;

    @ExportField(title = "交易完成时间", sort = 50, isTranf=1, tranfType=2)
    private Timestamp orderFinishedTime;

    @ExportField(title = "账单周期", sort = 60)
    private Integer settleDayCount;

    @ExportField(title = "结算日期", sort = 70, isTranf=1, tranfType=2)
    private Timestamp settlementTime;

    @ExportField(title = "交易总金额", sort = 80 )
    private BigDecimal orderMoney;

    @ExportField(title = "结算金额", sort = 90)
    private BigDecimal settlementMoney;

    @ExportField(title = "交易服务费", sort = 100)
    private BigDecimal settlementExpenses;

    @ExportField(title = "提前结算服务费", sort = 110)
    private BigDecimal settlementExpensesAdvance;

    @ExportField(title = "", isShow = 0)
    private Integer applyUserId;

    @ExportField(title = "申请结算人", sort = 120)
    private String applyUserName;

    @ExportField(title = "申请结算日期", sort = 130, isTranf=1, tranfType=2)
    private Timestamp applyTime;

    @ExportField(title = "", isShow = 0)
    private Integer auditStatus;

    @ExportField(title = "审核状态", sort = 140)
    private String auditStatusName;

    @ExportField(title = "", isShow = 0)
    private Integer settlementId;

    @ExportField(title = "结算人", sort = 150)
    private String settleUserName;

    @ExportField(title = "", isShow = 0)
    private Timestamp settlementTime1;

    @ExportField(title = "", isShow = 0)
    private Integer settlementType;


    public String getSettlementStatusName() {
        return EMallShopSettlementStatus.valueOf(this.settlementStatus);
    }

    public void setSettlementStatusName(String settlementStatusName) {
        this.settlementStatusName = settlementStatusName;
    }


    public String getOrderStatusName() {
        return "交易完成";
    }

    public void setOrderStatusName(String orderStatusName) {
        this.orderStatusName = orderStatusName;
    }

    public String getSettleUserName() {
        if (settlementStatus == EMallShopSettlementStatus.Settlement.getStatus()) {
            if (settleUserName == null) {
                return "系统";
            }
        }
        return settleUserName;
    }

    public void setSettleUserName(String settleUserName) {
        this.settleUserName = settleUserName;
    }


    public String getAuditStatusName() {
        return EMallShopSettlementAuditStatus.valueOf(this.auditStatus);
    }

    public void setAuditStatusName(String auditStatusName) {
        this.auditStatusName = auditStatusName;
    }

    public Integer getID() {
        return ID;
    }

    public void setID(Integer ID) {
        this.ID = ID;
    }

    public Integer getSettlementStatus() {
        return settlementStatus;
    }

    public void setSettlementStatus(Integer settlementStatus) {
        this.settlementStatus = settlementStatus;
    }

    public String getCompanyName() {
        return companyName;
    }

    public void setCompanyName(String companyName) {
        this.companyName = companyName;
    }

    public String getShopName() {
        return shopName;
    }

    public void setShopName(String shopName) {
        this.shopName = shopName;
    }

    public String getOrderNo() {
        return orderNo;
    }

    public void setOrderNo(String orderNo) {
        this.orderNo = orderNo;
    }

    public Timestamp getOrderCreateTime() {
        return orderCreateTime;
    }

    public void setOrderCreateTime(Timestamp orderCreateTime) {
        this.orderCreateTime = orderCreateTime;
    }

    public Timestamp getOrderFinishedTime() {
        return orderFinishedTime;
    }

    public void setOrderFinishedTime(Timestamp orderFinishedTime) {
        this.orderFinishedTime = orderFinishedTime;
    }

    public Integer getSettleDayCount() {
        return settleDayCount;
    }

    public void setSettleDayCount(Integer settleDayCount) {
        this.settleDayCount = settleDayCount;
    }

    public Timestamp getSettlementTime() {
        return settlementTime;
    }

    public void setSettlementTime(Timestamp settlementTime) {
        this.settlementTime = settlementTime;
    }

    public BigDecimal getOrderMoney() {
        return orderMoney;
    }

    public void setOrderMoney(BigDecimal orderMoney) {
        this.orderMoney = orderMoney;
    }

    public BigDecimal getSettlementMoney() {
        return settlementMoney;
    }

    public void setSettlementMoney(BigDecimal settlementMoney) {
        this.settlementMoney = settlementMoney;
    }

    public BigDecimal getSettlementExpenses() {
        return settlementExpenses;
    }

    public void setSettlementExpenses(BigDecimal settlementExpenses) {
        this.settlementExpenses = settlementExpenses;
    }

    public BigDecimal getSettlementExpensesAdvance() {
        return settlementExpensesAdvance;
    }

    public void setSettlementExpensesAdvance(BigDecimal settlementExpensesAdvance) {
        this.settlementExpensesAdvance = settlementExpensesAdvance;
    }

    public Integer getApplyUserId() {
        return applyUserId;
    }

    public void setApplyUserId(Integer applyUserId) {
        this.applyUserId = applyUserId;
    }

    public String getApplyUserName() {
        return applyUserName;
    }

    public void setApplyUserName(String applyUserName) {
        this.applyUserName = applyUserName;
    }

    public Timestamp getApplyTime() {
        return applyTime;
    }

    public void setApplyTime(Timestamp applyTime) {
        this.applyTime = applyTime;
    }

    public Integer getAuditStatus() {
        return auditStatus;
    }

    public void setAuditStatus(Integer auditStatus) {
        this.auditStatus = auditStatus;
    }

    public Integer getSettlementId() {
        return settlementId;
    }

    public void setSettlementId(Integer settlementId) {
        this.settlementId = settlementId;
    }

    public Timestamp getSettlementTime1() {
        return settlementTime1;
    }

    public void setSettlementTime1(Timestamp settlementTime1) {
        this.settlementTime1 = settlementTime1;
    }

    public Integer getSettlementType() {
        return settlementType;
    }

    public void setSettlementType(Integer settlementType) {
        this.settlementType = settlementType;
    }
}
